|
Добро пожаловать на сайт NeuroThermal.narod.ru - официальный представитель программ на базе движка Neuro!
Neuro - термодинамический движок расчета состояний теплового оборудования (пароводопроводов, газопроводов, котлов, турбин, БРОУ, ПВД и т.п.) в реальном времени.
Thermal - ядро движка Neuro, разработанное на основе формуляра IF97, любезно предоставленного международной организацией воды и пара IAPWS.
|
Внимание! Сайт переезжает на новый адрес: www.NeuroThermal.ru
|
"Турбулентность в реальном времени" v0.7
|
07.12.2015
|
|
Описание и история развития проекта
|
В очередной версии проекта продолжил свои исследования в области GPGPU и попробовал реализовать взаимодействие большого числа частиц по уже проверенной схеме: графика WPF 4.0 плюс технология распределенного вычисления OpenCL (с адаптером Cloo для C#). Но увы тормоза начались жуткие, WPF с выводом графики не справлялась. Пришлось усложнять проект и обращаться к графической библиотеке более низкого уровня OpenGL. Проблема интеграции OpenGL с WPF была решена благодаря двум проектам с открытым кодом OpenTK и SharpGL (респект разработчикам). Ну, а задействие OpenGL позволило не только решить проблему производительности (благодаря технологии VBO), но и создать весомый задел для будущих проектов. Так родилась довольно удачная и думаю перспективная сцепка WPF + OpenCL(Cloo) + OpenGL(OpenTK,SharpGL).
Что касается идеи содержания данной програмки, то она возникла после изучения довольно познавательной статьи "CFD 3D: простой симулятор воды", с подробным описанием основ вычислительной гидродинамики CFD на примере собственного проекта. Статья содержит также большое количество ссылок по теме для более глубокого изучения, что и повлияло на мой окончательный выбор. После разбора этих ссылок и уяснения основ, решил остановиться на книге M.Griebel T.Dornseifer "Numerical simulation in fluid dynamics" (особо рекомендуемую автором статьи) и попробовать воспроизвести алгоритм расчета на базе нескольких тестовых примеров. Вот так все и закрутилось. В процессе алгоритм расчета для лучшей производительности подвергся некоторому упрощению и оптимизации, так что результат может не совпадать с книжным, но все равно получилось наглядно и познавательно. Турбулентность однако...
В програмке задействованы следующие элементы: - переключатель примеров: ступенька, колонна, крыло; - переключатель режимов наблюдения: силовое поле, поток частиц; - ползунок изменения числа Рейнольдса, критерия течения вязкой жидкости; - переключатель основного устройства расчета физики: видеокарта, процессор; - счетчики FPS для графики и физики; - прокрутка поля просмотра с помощью ползунка, стрелок клавиатуры или колесика мыши.
P.S. Использование видеокарты, как для графики, так и для физики позволяет существенно повысить объем выполняемых вычислений даже на простеньком железе. GPGPU стремительно набирает обороты и популярность, дело за малым - освоить и применить.
|
|
"Симулятор тепловой схемы ТЭЦ" v1.0
|
21.09.2014
|
|
Описание и история развития проекта
|
Встречайте, долгожданный релиз проекта под номером 1.0, ради которого по сути и создавался данный сайт.
Благодаря переходу данной версии на .NET Framework 4.0 (что значительно ускорило работу движка Neuro) появилась возможность существенно увеличить количество элементов и задействовать параллельные связи теплового оборудования. Для соответствия новым возможностям пришлось даже изменить название проекта на "Симулятор тепловой схемы ТЭЦ".
Теперь основной состав схем следующий: - паровая схема: коллектор питательной воды, коллектора перегретого пара 90/30/10/1.2 ата, 2 барабанных котла, турбина №1 90/30, турбина №2 90/10/1.2, турбина №3 30/10/0.05, БРОУ №1 90/30, БРОУ №2 30/10, РУ 10/1.2, промышленные отборы пара 30/10/1.2; - схема конденсата : ХОВ, возврат конденсата промышленных отборов, ДНД, ДВД, ПН №1/2/3, ПВД; - схема котла: топка, газоход, поверхности нагрева.
Режим работы тепловой схемы можно менять (клик мыши на один из трех квадратиков) следующими ручными регуляторами: - промышленного отбора 30/10/1.2 ата; - диафрагмы конденсатора турбины №3 30/10/0.05; - расхода пара на ПВД; - пароохладителя котла.
Среди нововведений данной версии стоит отметить: - параллельные связи теплового оборудования; - расчет газовоздушного тракта котла; - расчет на основе коэффициента теплопередачи: поверхностей нагрева котлоагрегата, конденсатора турбины, ПВД; - расчет электроэнергии турбин и насосов производится на базе реальных характеристик; - взаимодействие питательных насосов для поддержания требуемого давления в коллекторе питательной воды; - автоматическое регулирование позволяет поддерживать параметры тепловой схемы в рабочем диапазоне (пока нельзя настраивать и отключать); - расчет удельных расходов на тепло и электроэнергию выполнен, как обычным методом, так и по методу относительного прироста топлива на прирост тепла (эксергический метод exergy.narod.ru), который наглядно позволяет отслеживать экономичность производства комбинированной энергии.
P.S. Итак корабль спущен на воду, ну а как будет продвигаться его дальнейшее плавание будет зависеть от Ваших замечаний и предложений.
|
|
"Диаграмма HS для воды и водяного пара v2.4"
|
24.11.2013
|
|
Описание и история развития проекта
|
Встречайте, впервые на данном сайте, версия программы на .NET Framework 4.0. Плюсов сразу несколько - заметно ускорилась графическая часть программы (заслуга WPF 4.0), что позволило отказаться от кэширования картинки и теперь все линии, даже при большом увеличении, рисуются без искажений. Благодаря более быстрой отрисовки появились время на расчет точек пересечения с границами регионов. Побыстрее стало работать и ядро Thermal, особенно при параллельном запросе. Ну а минус - необходимо скачать и установить эту библиотеку (в Windows 8 она уже имеется).
Итак, основные отличия от предыдущей версии следующие: - улучшилась графическое отображение диаграмм, сеток, линий; - добавил точки пересечения с границами регионов; - точка выбора теперь перемещается и за пределы диаграммы; - при изменении масштаба с помощью колесика мыши точка фокуса привязана к положению курсора; - немного отредактировал отображение параметров, как основной выбранной точки, так и вспомогательных: красных (при наведении мыши) и зеленых точек (при нажатие правой кнопки мыши); - подкорректировал зону диаграммы для энтропии меньше нуля; - при печати графика добавляются значения узловых точек, а при печати обычного режима - значения точек пересечения границ регионов; - изменил формат сохранения данных в файл, так что файлы предыдущих версий программы теперь не поддерживаются; - обнаружил и исправил несколько крупных ошибок.
В связи с тем, что данная версия программы претерпела серьезные внутренние изменения (а на тестирование времени как всегда не хватает) возросла вероятность появления новых ошибок и сбоев. Так что будьте внимательны, если что сообщайте - исправлю.
P.S. Основная цель данной версии - распараллеливание кода движка, да и оптимизация графики достигнута (благодаря переходу на .NET 4.0). И хотя в данной программе параллельные вычисления не используются, зато в основном проекте "Симулятор паровой схемы ТЭЦ" этот плюс можно задействовать на полную катушку. В общем, прогресс не стоит на месте и это радует, хоть для освоения приходиться тратить и время, и усилия.
> Update 04.12.2013 - исправил ошибку вычисления на межрегиональных линиях. > Update 08.12.2013 - исправил пару ошибок в редакторе. > Update 02.12.2016 - подправил отображение и ввод данных.
|
|
"ПИД регулятор" v1.0
|
01.10.2011
|
|
Описание и история развития проекта
|
Вот и еще один проект дозрел до версии 1.0. И хотя для достижения этого знакового события пришлось приложить немного больше усилий, чем обычно: переработать структуру, интерфейс программы и даже ввести пару дополнительных потоков, в конечном итоге проект все же достиг желаемого результата и в нем появились следующие изменения:
- возмущения для объекта регулирования теперь можно задавать как с помощью журнала событий, так и в реальном времени воздействуя курсором мыши на ползунки и кнопки регуляторов; - для предотвращения зависания интерфейса основной цикл расчета теперь выполняется в отдельном, фоновом потоке; - при настройке коэффициентов ПИД-регулятора и изменении параметров объекта к графику переходной характеристики добавился график критерия устойчивости Найквиста; - немного изменил интерфейс программы, а при переходе в полноэкранный режим применил масштабирование картинки; - добавил пример регулирования более сложного двухемкостного объекта (инерционное звено 2 порядка, колебательное звено), с регулированием входным регулятором, и контролем уровня воды во втором баке; - при переходе с одного примера на другой принудительно срабатывает пауза.
P.S. К сожалению, на тестирование времени почти не осталось, так что вполне возможны ошибки и неточности. Ну а в целом получилось неплохо и надеюсь познавательно.
|
|
"Нейросеть v0.7"
|
25.03.2011
|
|
Описание и история развития проекта
|
После обнаружения на сайте codeproject.com нескольких великолепных статей с исходным кодом посвященных нейросети, наконец-то решил осуществить свое давнее желание и попытаться разобраться с этим загадочным зверем.
Первым делом решил опробовать на практике методику распознавания рукописных цифр, и посмотреть, как отреагирует нейросеть на мои каракули. В примере использовал нейросеть со структурой, подробно описанной в статье (кстати отмеченной призом сайта) by Mike O'Neill, ну а обучал ее с помощью программы с открытым кодом by Filip D'haene (код просто чудо, браво маэстро!). Стоит отметить также базу данных рукописных цифр MNIST и статью by billconan, kavinguy, послужившей отправной точкой.
Во второй части программы реализована простейшая нейросеть со структурой 2-3-1 и обучением по методу обратного распространения ошибки. Эта структура является неким аналогом логического элемента (с возможностью переобучаться) и хорошо описана в серии статей by Sacha Barber [1] [2] [3].
P.S. Хочется также отметить статью by Jeff Heaton, посвященную его собственному движку Encog (в котором собраны множество методик и алгоритмов, связанных с нейросетью и искусственным интеллектом), а также статью by Andrew Kirillov с примерами на базе также собственного движка AForge. Возможно следующая версия этого проекта будет посвящена именно им.
|
|
|